package com.example.springmvcproject.Mapper;

import com.example.springmvcproject.Pojo.User;
import com.example.springmvcproject.Utils.ResultMessage;
import com.example.springmvcproject.Vo.UserSelectiveVo;
import com.example.springmvcproject.Vo.UserVo;

import java.util.List;

/**
 * @Entity com.example.springmvcproject.Pojo.User
 */
public interface UserMapper {

    /**
     * 插入一个用户并返回结果
     * @param user 用户的异常
     * @return
     */
    boolean insertUser(User user);

    /**
     * 根据账号获取
     * @param account
     * @return
     */
    int selectCountByAccount(String account);

    /**
     * 通过ID获取用户的权限
     * @param loginId
     * @return
     */
    Integer selectRoleIdByLoginId(Integer loginId);

    /**
     * 根据用户名获取加盐值
     * @param account
     * @return
     */
    String selectKeyByAccount(String account);

    /**
     * 根据账号查询具体用户
     * @param account
     * @return
     */
    User selectUserByAccount(String account);

    /**
     * 根据ID修改密码和key
     * @param tempUser
     * @return
     */
    void updatePasswordAndKeyByUserId(User tempUser);

    /**
     * 根据条件对数据进行查询
     * @param userSelectiveVo
     * @return
     */
    List<User> selectUsersBySelective(UserSelectiveVo userSelectiveVo);

    /**
     * 根据用户名和ID删除用户
     * @param user
     * @return
     */
    boolean deleteUserByIdAndAccount(User user);
}




